//例子，一种执行 'ps ax | grep ssh' 的方法：
//ps 是linux中的命令，能列出系统中运行的进程，包括进程号、命令、CPU使用量、内存使用量等
//ps -a 列出所有运行中/激活进程
// -a 参数。-a 代表 all。同时加上x参数会显示没有控制终端的进程。

//grep 命令用于查找文件里符合条件的字符串
//grep ssh 查看是否安装ssh服务
const { spawn } = require('child_process');
const ps = spawn('ps', ['ax']);
const grep = spawn('grep', ['ssh']);

ps.stdout.on('data', (data) => {
  //console.log(`输出：${data}`);
  //console.log(data)//这样输出的是<buffer  需要toString()
  grep.stdin.write(data);//传入值
});

ps.stderr.on('data', (data) => {
  console.log(`ps stderr: ${data}`);
});

ps.on('close', (code) => {
  if (code !== 0) {
    console.log(`ps 进程退出码：${code}`);
  }
  grep.stdin.end();
});

grep.stdout.on('data', (data) => {
  console.log(data.toString());
});

grep.stderr.on('data', (data) => {
  console.log(`grep stderr: ${data}`);
});

//grep.kill('shutdown') 发送 shutdown  到进程
//signal 接收信号
//grep.send()向子进程发送消息
grep.on('close', (code,signal) => {
  if (code !== 0) {
    console.log(`grep 进程退出码：${code}`);
  }
});
